//package org.batatasframework.web.context;
//
//import javax.servlet.ServletContextEvent;
//import javax.servlet.http.HttpSessionEvent;
//import javax.servlet.http.HttpSessionListener;
//
//import org.apache.commons.logging.Log;
//import org.apache.commons.logging.LogFactory;
//import org.springframework.context.ApplicationContext;
//import org.springframework.web.context.ContextLoaderListener;
//import org.springframework.web.context.support.WebApplicationContextUtils;
//
//import cn.bonoon.core.plugins.LoginRecordService;
//
///**
// * <pre>
// * 这里是整个spring的配置信息的入口，整个spring框架的容器都在这里启动
// * </pre>
// * @author jackson
// *
// */
//public class WebApplicationContextLoaderListener extends ContextLoaderListener implements HttpSessionListener {
//
//	protected final Log logger = LogFactory.getLog(getClass());
//	
//	@Override
//	public void sessionCreated(HttpSessionEvent se) {
//		// TODO Auto-generated method stub
//		// ApplicationContext context = WebApplicationContextUtils
//		// .getWebApplicationContext(se.getSession().getServletContext());
//		// LoginRecordService loginRecordSevice = context
//		// .getBean(LoginRecordService.class);
//		// System.out.println("dddd");
//		
//		logger.info("新的访问者：" + se.getSession().getId());
//	}
//
//	@Override
//	public void sessionDestroyed(HttpSessionEvent se) {
//		if(null != loginRecordSevice){
//			try {
//				String sessionId = se.getSession().getId();
//				loginRecordSevice.logout(sessionId);
//			} catch (Throwable err) {
//				// 忽略所有异常情况
//				logger.error("退出访问时处理异常！", err);
//			}
//		}
//	}
//	
//	private LoginRecordService loginRecordSevice;
//	
//	// 服务器启动
//	@Override
//	public void contextInitialized(ServletContextEvent sce) {
//		super.contextInitialized(sce);
//		
//		try {
//			ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext());
//			loginRecordSevice = context.getBean(LoginRecordService.class);
//			loginRecordSevice.allLogout();
//		} catch (Throwable err) {
//			// 忽略所有异常情况
//			logger.error("启动服务器时初始化异常！", err);
//		}
//	}
//
//	/**
//	 * 服务器停止时，所有登录记录都将退出。
//	 */
//	@Override
//	public void contextDestroyed(ServletContextEvent sce) {
//		super.contextDestroyed(sce);
////		try {
////			// ApplicationContext context = WebApplicationContextUtils
////			// .getWebApplicationContext(sce.getServletContext());
////			// LoginRecordService loginRecordSevice = context
////			// .getBean(LoginRecordService.class);
////			// loginRecordSevice.allOut();
////		} catch (Throwable err) {
////			// 忽略所有异常情况
////			err.printStackTrace();
////		}
//	}
//}
